/**
 * Classe pour la gestion des fichiers présents dans le noeud
 * @author S Jousselin / M Quin / V Delcroix
 */

package fonctionnel;

import java.util.ArrayList;
import java.io.Serializable;

public class Fichier implements Serializable{
    private String nom;
    private int degreConf;
    private ArrayList<NoeudConfiance> listeNoeudConf;

    /**
     * Constructeur vide de la classe Fichier
     */
    public Fichier()
    {
        this.nom="";
        this.degreConf=0;
        this.listeNoeudConf=new ArrayList<NoeudConfiance>();
    }

    /**
     * Constructeur de la classe Fichier
     * @param nom String : nom du fichier
     * @param degreConf int : degré de confiance du fichier
     */
    public Fichier(String nom, int degreConf)
    {
        this.nom = nom;
        this.degreConf = degreConf;
        this.listeNoeudConf=new ArrayList<NoeudConfiance>();
    }

    /**
     * Constructeur de la classe Fichier
     * @param nom : nom du fichier
     */
    public Fichier(String nom)
    {
        this.nom = nom;
        this.listeNoeudConf=new ArrayList<NoeudConfiance>();
    }

    /**
     * Retourne le degré de confiance du fichier
     * @return int
     */
    public int getDegreConf()
    {
        return degreConf;
    }

    /**
     * Met à jour le degré de confiance du fichier
     * @param degre int
     */
    public void setDegreConf(int degre)
    {
        this.degreConf=degre;
    }

    /**
     * Retourne la liste des noeuds de confiance du fichier
     * @return ArrayList<NoeudConfiance>
     */
    public ArrayList<NoeudConfiance> getListeNoeudConf()
    {
        return listeNoeudConf;
    }

    /**
     * Retourne le nom du fichier
     * @return String
     */
    public String getNom()
    {
        return nom;
    }

    /**
     * Ajoute le noeud de confiance passé en paramètre dans la liste des noeuds de confiance du fichier.
     * @param nC NoeudConfiance
     */
    public void ajouterNoeudListeConf(NoeudConfiance nC)
    {
        this.listeNoeudConf.add(nC);
    }




    @Override
    public String toString() {
        String s="";
        for(NoeudConfiance n : this.listeNoeudConf)
        {
           s=s+n.toString();
        }
        return "Nom : " + this.nom + "\ndegre : " + this.degreConf + "\nListe conf : " + s.toString();
    }
}
